home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C++ / Snippets / New Venus / Readme < prev   
Encoding:
Text File  |  1995-11-21  |  3.3 KB  |  75 lines  |  [TEXT/ttxt]

  1. What:    "virtual" circling around through the clouds
  2.  
  3. Hot points:
  4.     - simple virtual reality "thing", of a flight-simulator kind
  5.     - with the complete source and lots of comments/explanations
  6.   - can take any height map and flight/pan around it
  7.   - NO QuickDraw3D, all rendering/graphics is done by the code itself
  8.     - includes the source for a small class library to handle full-color
  9.        Mac windows/user items /offscreen GrafWorlds
  10.   - C++ classes for Dialogs and dialog (user) items; consistent OO
  11.      design with late binding
  12.   - on-the-fly "patching" of CDEF without even touching the trap table, or
  13.        any of the system code
  14.   - animation NOT through null-events
  15.  
  16. Keywords: voxel 3D rendering, visualization, animation, elevation map, panning
  17.  
  18. Contents:
  19.     Readme             - this file
  20.     New Venus    - application itself (PowerMac)
  21.     Venus.mu      - project to build it
  22.     Venus.mu.rsrc - 'clut', pltt, dialog and control resources
  23.     main.cc         - Where the main dialog class is declared and implemented
  24.     view_3d.cc - render a clouds map in 3D and make a view from the
  25.                          cockpit
  26.   view_2d.cc - make a 'view-from-above' and do circling around
  27.   ValueControl.* - C++ class for a slider displaying its
  28.                        current setting
  29.     window.h                         \ 
  30.     SimpleWindow.cc  \  my own very simple "MacApp": a classlib for
  31.   Dialog.*                 / handling color Mac windows and offscreen GrafWorlds
  32.   EventHandlers.*   /
  33.     The source code contains many comments to show what
  34.     a particular piece of code does, as well as some tricks involved
  35.  
  36. Language: CodeWarrior C++ 7.1
  37. System: System 7.x; binaries are for a PowerMac.
  38.  
  39. Note: Some ancillary code is provided in a binary form (as compiled libraries)
  40.       for compactness. The corresponding source code can be grabbed from
  41.         the Info-Mac (/info-mac/dev/lib/gray-image-21-cpp.hqx) or
  42.       ftp://replicant.csci.unt.edu/~oleg/ftp/grayimage-21.cpt.hqx
  43.       See http://mozart.compsci.com/~oleg/ftp/
  44.       for  more details.
  45.  
  46. Comments-to: oleg@ponder.csci.unt.edu, oleg@unt.edu
  47. Many-Thanks-To: Tim Clarke, tjc1005@hermes.cam.ac.uk (for inspiration)
  48.  
  49. Explanation:
  50.  
  51.     Just fire it up, click on "Go", sit back and enjoy. You may want to adjust
  52. elevation, view position, focus, etc. gauges. Hope you'll get some
  53. feeling that you're hovering over or flying through the clouds. If you
  54. quit the program and start it over again, you'll get different clouds
  55. (which might be much better and more interesting to fly around).
  56.  
  57.     Right window: a view from above, on the clouds and your plane. Left
  58. window: a view from the cockpit. The picture changes as you circle around
  59. or alter the view parameters: focus, elevation, etc.
  60.  
  61.     The thing flies faster on 24-bit monitors (with Direct color), where
  62. CopyBits() doesn't need to do color matching.
  63.  
  64.   Sorry about ugly controls: I can't draw at all. Otherwise, I would've
  65. drawn my own sliders, rather than ripping and tinkering with system's CDEFs.
  66.  
  67.     Source file view_3d.cc  in the present submission contains the
  68. fullest description (I could come up with) of the 3D rendering
  69. technique: with background, equations, pseudocode and the actual code
  70. (and tricks with the fixed-point arithmetics: hey, no floating-point
  71. numbers are in here).
  72.  
  73.     If you need further information or details, please mail me. If you want to see more
  74. functionality added, mail me too.
  75.